package 树;

/**
 * @author admin
 * @version 1.0.0
 * @ClassName 合并二叉树.java
 * @Description TODO
 * @createTime 2020年10月08日 20:25:00
 *
 * 总结：
 * 这题基本就是如何创造一个树
 * 我感觉递归是有规律的
 * 首先递归的三要素 终止条件 参数返回值 单层逻辑
 * 终止条件是当遇到最后的节点要做的事情
 * 单层条件就是 拿一个节点来试验要做的事情
 * 建议从第一层和倒数第二层来看 单层逻辑
 *
 *  TreeNode merged = new TreeNode(t1.val + t2.val);
 * //            merged.left = mergeTrees(t1.left, t2.left);
 * //            merged.right = mergeTrees(t1.right, t2.right);
 * 这个基本可以实现 创建一个树
 * */
public class 合并二叉树 {
    /**
     * Definition for a binary tree node.
     * public class TreeNode {
     *     int val;
     *     TreeNode left;
     *     TreeNode right;
     *     TreeNode(int x) { val = x; }
     * }
     */
//    class Solution {
//        public TreeNode mergeTrees(TreeNode t1, TreeNode t2) {
//            if (t1 == null) {
//                return t2;
//            }
//            if (t2 == null) {
//                return t1;
//            }
//            TreeNode merged = new TreeNode(t1.val + t2.val);
//            merged.left = mergeTrees(t1.left, t2.left);
//            merged.right = mergeTrees(t1.right, t2.right);
//            return merged;
//        }
//    }
}
